home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 - Homepage / CHIP.BIN / share / webmaste / csehtmlp / csehtmlp.exe / {app} / ParserRules / awk_script.xs < prev    next >
Encoding:
Text File  |  2002-04-22  |  4.0 KB  |  121 lines

  1. //Language: AWK script 
  2. //Copyright (c) 1992-2002 Altium Limited            
  3. //All rights reserved.                              
  4. //http://www.dream-com.com                          
  5. //contact@dream-com.com                             
  6.  
  7. // states
  8. State=snormal
  9. State=sstring
  10. State=scomment
  11. // tokens
  12. Token=tnone
  13. Token=tstring
  14. Token=tcomment
  15. Token=tident
  16. Token=tinteger
  17. Token=tfloat
  18. Token=tresword
  19. Token=tassembler
  20. Token=turl
  21. Token=twhitespace
  22. Token=tresword1
  23. Token=tresword2
  24. //delims
  25. Delimiters=;.,:'"{}[]()?!@#$%^&*-+=|\/
  26.  
  27. // reswords
  28. snormal 'BEGIN'      snormal tresword
  29. snormal 'break'      snormal tresword
  30. snormal 'continue'   snormal tresword
  31. snormal 'do'         snormal tresword
  32. snormal 'else'       snormal tresword
  33. snormal 'END'        snormal tresword
  34. snormal 'exit'       snormal tresword
  35. snormal 'for'        snormal tresword
  36. snormal 'function'   snormal tresword
  37. snormal 'if'         snormal tresword
  38. snormal 'in'         snormal tresword
  39. snormal 'pattern'    snormal tresword
  40. snormal 'return'     snormal tresword
  41. snormal 'while'      snormal tresword
  42.  
  43. snormal 'ARGC'        snormal tresword1
  44. snormal 'ARGIND'      snormal tresword1
  45. snormal 'ARGV'        snormal tresword1
  46. snormal 'CONVFMT'     snormal tresword1
  47. snormal 'ENVIRON'     snormal tresword1
  48. snormal 'ERRNO'       snormal tresword1
  49. snormal 'FIELDWIDTHS' snormal tresword1
  50. snormal 'FILENAME'    snormal tresword1
  51. snormal 'FNR'         snormal tresword1
  52. snormal 'FS'          snormal tresword1
  53. snormal 'IGNORECASE'  snormal tresword1
  54. snormal 'NF'          snormal tresword1
  55. snormal 'NR'          snormal tresword1
  56. snormal 'OFMT'        snormal tresword1
  57. snormal 'OFS'         snormal tresword1
  58. snormal 'ORS'         snormal tresword1
  59. snormal 'RLENGTH'     snormal tresword1
  60. snormal 'RS'          snormal tresword1
  61. snormal 'RSTART'      snormal tresword1
  62. snormal 'RT'          snormal tresword1
  63. snormal 'SUBSEP'      snormal tresword1
  64.  
  65. snormal 'atan2'     snormal tresword2
  66. snormal 'close'     snormal tresword2
  67. snormal 'cos'       snormal tresword2
  68. snormal 'exp'       snormal tresword2
  69. snormal 'fflush'    snormal tresword2
  70. snormal 'gensub'    snormal tresword2
  71. snormal 'getline'   snormal tresword2
  72. snormal 'gsub'      snormal tresword2
  73. snormal 'index'     snormal tresword2
  74. snormal 'int'       snormal tresword2
  75. snormal 'length'    snormal tresword2
  76. snormal 'log'       snormal tresword2
  77. snormal 'match'     snormal tresword2
  78. snormal 'next'      snormal tresword2
  79. snormal 'nextfile'  snormal tresword2
  80. snormal 'print'     snormal tresword2
  81. snormal 'printf'    snormal tresword2
  82. snormal 'rand'      snormal tresword2
  83. snormal 'sin'       snormal tresword2
  84. snormal 'split'     snormal tresword2
  85. snormal 'sprintf'   snormal tresword2
  86. snormal 'sqrt'      snormal tresword2
  87. snormal 'srand'     snormal tresword2
  88. snormal 'strftime'  snormal tresword2
  89. snormal 'sub'       snormal tresword2
  90. snormal 'substr'    snormal tresword2
  91. snormal 'system'    snormal tresword2
  92. snormal 'systime'   snormal tresword2
  93. snormal 'tolower'   snormal tresword2
  94. snormal 'toupper'   snormal tresword2
  95.  
  96. // numbers
  97. snormal [1-9][0-9]*                            snormal  tinteger
  98. snormal [1-9][0-9]*\.[0-9]*                    snormal  tfloat
  99. snormal [1-9][0-9]*{\.[0-9]+}|e{[\+\-]}|[0-9]+ snormal  tfloat
  100.  
  101. //idents
  102.  
  103. snormal   [a-z_A-Z][a-z_A-Z0-9]*  snormal   tident
  104.  
  105. //white space
  106. snormal #32*                      snormal   twhitespace
  107.  
  108. //comments
  109. snormal    \#                      scomment  tcomment
  110. scomment   [#1-#255]*              snormal   tcomment
  111. scomment   $                       snormal   tcomment
  112.  
  113. //strings
  114. snormal   \"                     sstring   tstring
  115. sstring   [^\"]*                 sstring   tstring
  116. sstring   \"                     snormal   tstring
  117. sstring   \"\"                   sstring   tstring
  118. sstring   \\                     sstring   tstring
  119. sstring   \\\"                   sstring   tstring
  120. sstring   $                      snormal   tstring
  121.